#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
long long a[N], pre[N];

int main() {
  int n, q;
  cin >> n >> q;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  sort(a + 1, a + 1 + n);

  // 求前缀和
  for (int i = 1; i <= n; i++)
    pre[i] = pre[i - 1] + a[i];

  while (q--) {
    long long b;
    cin >> b;
    //  找到 >=b 的第一位位置 p
    int p = lower_bound(a + 1, a + 1 + n, b) - a;
    if (p == n + 1) { // 如果不存在茶包个数 >= b 则无解
      cout << -1 << endl;
      continue;
    }

    // p位置之前的元素都可以被选
    // 从p位置开始，每个元素选（b-1)个
    cout << pre[p - 1] + (n - p + 1) * (b - 1) + 1 << endl;
  }

  return 0;
}